home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
pegand2a.arj
/
PEGAND2.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-03-01
|
10KB
|
344 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
String TSTRING001(100)
String TSTRING002(100)
String TSTRING003(100)
String TSTRING004(100)
String TSTRING005(100)
String STRING006
String TSTRING007(100)
String STRING008
String STRING009
String TSTRING010(100)
String TSTRING011(100)
String TSTRING012(100)
String TSTRING013(100)
String STRING014
String TSTRING015(100)
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String TSTRING021(100)
String STRING022
;------------------------------------------------------------------------------
For INTEGER001 = 1 To 2
RdUNet INTEGER001
TSTRING001(INTEGER001) = UN_Name()
TSTRING002(INTEGER001) = RTrim(UN_Name(), " ")
TSTRING003(INTEGER001) = RTrim(UN_City(), " ")
TSTRING004(INTEGER001) = UN_Stat()
TSTRING005(INTEGER001) = RTrim(UN_Oper(), " ")
Next
Gosub LABEL003
TSTRING004(PcbNode()) = "WHO"
PrintLn
PrintLn
PrintLn "@X70 ┌@X7F───────────────────────────────────────────────────────────────────────────@X70┐ @X0F"
PrintLn "@X70 @X78│ @XF0* @X74WHO'S ON * PEGANODE ACTIVITY REPORT @XF0* @X7F│ @X0F"
PrintLn "@X70 @X78│@X74N@X78ode @XFEUNREGISTERED EVALUATION COPY @X74T@X78ime @X7F │ @X0F"
PrintLn "@X70 @X78│ @X74N@X78o. @X74C@X78ALLER @X74F@X78ROM @X74A@X78CTIVITY @X74L@X78eft @X7F│ @X0F"
PrintLn "@X70 @X78│──── ────────────────── ─────────────── ───────────────────────── ──────── @X7F│ @X0F"
For INTEGER002 = 1 To 2
STRING019 = I2S(INTEGER002, 10)
STRING016 = "\PEGANODE\PEGTIME." + STRING019
If (Exist(STRING016)) Goto LABEL001
TSTRING007(INTEGER002) = ""
Goto LABEL002
:LABEL001
FOpen 1, STRING016, 0, 0
FGet 1, INTEGER010
FGet 1, STRING017
FClose 1
For INTEGER007 = 1 To 7
STRING020 = Mid(STRING017, INTEGER007, 1)
Select Case (STRING020)
Case "m"
Break
Case "("
STRING020 = ""
End Select
STRING018 = STRING018 + STRING020
Next
INTEGER012 = S2I(STRING018, 10)
INTEGER011 = INTEGER012 - (Time() - INTEGER010) / 60
TSTRING007(INTEGER002) = ""
TSTRING007(INTEGER002) = I2S(INTEGER011, 10)
TSTRING007(INTEGER002) = LTrim(RTrim(TSTRING007(INTEGER002), " "), " ")
STRING018 = ""
Gosub LABEL007
If (TSTRING004(INTEGER002) == "WHO") TSTRING007(INTEGER002) = "@TIMELEFT@"
:LABEL002
TSTRING005(INTEGER002) = RTrim(TSTRING005(INTEGER002), " ")
TSTRING005(INTEGER002) = LTrim(TSTRING005(INTEGER002), " ")
STRING006 = INTEGER002
If (INTEGER002 < 10) Then
STRING006 = " " + STRING006
ElseIf (INTEGER002 >= 10) Then
STRING006 = STRING006
Endif
If (TSTRING004(INTEGER002) == "WHO") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @POS:44@@X78Viewing @X74PEGANODE @POS:69@@X71@TIMELEFT:3R@@X70 @POS:73@Min @POS:77@@X7F │ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "") Then
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@X78@POS:8@Unavailable Node @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == " ") Then
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X78Available Node @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "O") Then
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X7FLogging On @POS:77@ │ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "D") Then
TSTRING002(INTEGER002) = RTrim(TSTRING002(INTEGER002), " ")
INTEGER004 = Len(TSTRING002(INTEGER002))
TSTRING005(INTEGER002) = RTrim(TSTRING005(INTEGER002), " ")
INTEGER003 = Len(TSTRING005(INTEGER002))
Gosub LABEL004
TSTRING015(INTEGER002) = "@X7CDr: @X7B" + TSTRING005(INTEGER002)
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), "@POS:44@", TSTRING015(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "A") Then
TSTRING005(INTEGER002) = "Available For Chat"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @POS:28@@X7E", TSTRING003(INTEGER002), " @X7F@POS:44@", TSTRING005(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "T") Then
Gosub LABEL005
Gosub LABEL006
Continue
Endif
If (TSTRING004(INTEGER002) == "S") Then
TSTRING005(INTEGER002) = "Answering Script"
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X76@POS:44@", TSTRING005(INTEGER002), "@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "N") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Running Event @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "L") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Logoff Pending @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "R") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@DOS Recycle Pending@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "V") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@No Caller On Line @POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "W") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Drop To DOS Pending@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "C") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Chatting With Sysop@POS:69@@X71", TSTRING007(INTEGER002), "@X70@POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "F") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X75@POS:44@", TSTRING005(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "G") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X7A@POS:44@Chatting With Group@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "E") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X71@POS:44@Entering A Message@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "M") Then
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X71@POS:44@Reading A Message@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "B") Then
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X70@POS:44@Out in DOS@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "P") Then
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Paging SysOp@X71@POS:69@", TSTRING007(INTEGER002), "@POS:69@@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
If (TSTRING004(INTEGER002) == "U") Then
TSTRING005(INTEGER002) = "Can't Chat Right Now"
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X79@POS:44@", TSTRING005(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Continue
Endif
PrintLn "@X70 @X78│@X74@POS:4@", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X76@POS:44@", TSTRING005(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Next
PrintLn "@X70 └@X78───────────────────────────────────────────────────────────────────────────@X70┘ @X0F"
PrintLn "@X08 v2.0a COPYRIGHT (C) 1994 CHRIS MICHAELS"
PrintLn
End
:LABEL003
For INTEGER002 = 1 To 2
Tokenize TSTRING003(INTEGER002)
INTEGER008 = TokCount()
For INTEGER009 = 1 To INTEGER008
GetToken TSTRING021(INTEGER009)
If (Right(TSTRING021(INTEGER009), 1) == ",") Then
TSTRING021(INTEGER009) = Left(TSTRING021(INTEGER009), Len(TSTRING021(INTEGER009)) - 1)
Continue
Endif
If (Right(TSTRING021(INTEGER009), 1) == ".") Then
TSTRING021(INTEGER009) = Left(TSTRING021(INTEGER009), Len(TSTRING021(INTEGER009)) - 1)
Endif
Next
For INTEGER009 = 1 To INTEGER008
STRING022 = STRING022 + TSTRING021(INTEGER009) + " "
TSTRING021(INTEGER009) = ""
Next
TSTRING003(INTEGER002) = Left(STRING022, 13)
STRING022 = ""
Next
Return
:LABEL004
If (Left(TSTRING002(INTEGER002), INTEGER004) == Left(TSTRING005(INTEGER002), INTEGER004)) Then
TSTRING005(INTEGER002) = "@X7B" + Right(TSTRING005(INTEGER002), INTEGER003 - INTEGER004 - 3)
TSTRING005(INTEGER002) = LTrim(Left(TSTRING005(INTEGER002), 24), " ")
Endif
Return
:LABEL005
STRING009 = ""
STRING008 = ""
Tokenize TSTRING005(INTEGER002)
GetToken TSTRING010(INTEGER002)
GetToken TSTRING011(INTEGER002)
GetToken STRING014
GetToken TSTRING012(INTEGER002)
GetToken STRING014
GetToken TSTRING013(INTEGER002)
INTEGER005 = Len(TSTRING012(INTEGER002)) - 4
TSTRING012(INTEGER002) = Left(TSTRING012(INTEGER002), INTEGER005) + "K"
TSTRING005(INTEGER002) = TSTRING010(INTEGER002) + " " + TSTRING011(INTEGER002) + " " + TSTRING012(INTEGER002)
Return
:LABEL006
Select Case (TSTRING010(INTEGER002))
Case "(D)"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X75@POS:44@", TSTRING005(INTEGER002), "@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Case "(U)"
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X75@POS:44@(U)ploading A File @XFC@X71@POS:69@", TSTRING007(INTEGER002), "@X70 @POS:73@Min@POS:77@ @X7F│ @X0F"
Case Else
PrintLn "@X70 @X78│@POS:4@@X74", STRING006, "@POS:8@@X70", Left(TSTRING002(INTEGER002), 19), " @X7E@POS:28@", TSTRING003(INTEGER002), " @X74@POS:44@Preparing File Transfer@POS:69@@X71", TSTRING007(INTEGER002), "@X70 @POS:73@Min@X7F@POS:77@ │ @X0F"
End Select
Return
:LABEL007
TSTRING007(INTEGER002) = LTrim(RTrim(TSTRING007(INTEGER002), " "), " ")
INTEGER006 = Len(TSTRING007(INTEGER002))
Select Case (INTEGER006)
Case 1
TSTRING007(INTEGER002) = " " + TSTRING007(INTEGER002)
Case 2
TSTRING007(INTEGER002) = " " + TSTRING007(INTEGER002)
Case 3
TSTRING007(INTEGER002) = TSTRING007(INTEGER002)
Case 4
TSTRING007(INTEGER002) = "99+"
End Select
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 78 Goto
; 64 Let
; 34 PrintLn
; 42 If
; 1 FOpen
; 1 FClose
; 2 FGet
; 5 Gosub
; 5 Return
; 2 Tokenize
; 7 GetToken
; 1 RdUNet
;
;
; ■ Functions used :
;
; 1 /
; 20 +
; 7 -
; 32 ==
; 7 <
; 6 <=
; 14 >=
; 40 !
; 12 &&
; 6 ||
; 6 Len(
; 1 Mid()
; 28 Left()
; 3 Right()
; 4 LTrim()
; 8 RTrim()
; 1 Time()
; 1 PcbNode()
; 1 UN_Stat()
; 2 UN_Name()
; 1 UN_City()
; 1 UN_Oper()
; 1 Exist()
; 2 I2S()
; 1 S2I()
; 1 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 6 For/Next
; 0 While/EndWhile
; 26 If/Then or If/Then/Else
; 3 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------